package com.sd365.permission.centre.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sd365.common.core.common.pojo.vo.TenantBaseVO;
import com.sd365.permission.centre.pojo.dto.CompanyDTO;
import com.sd365.permission.centre.pojo.dto.OrganizationDTO;
import com.sd365.permission.centre.pojo.dto.TenantDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.checkerframework.checker.units.qual.A;

import javax.persistence.Table;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @version 1.0
 * @ClassName: RoleVO
 * @Description: Role在前端可被查看的内容字段
 * @Author: Hejiale
 * @Date: 2023-06-13 15:17
 **/
@ApiModel("com.sd365.permission.centre.pojo.vo.RoleVO")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "basic_role")
public class RoleVO extends TenantBaseVO {

    /**
     * 资源表示层列表
     */
    private List<ResourceVO> resourceVOS = new ArrayList<>();


    /**
     * 角色名称
     */
    @ApiModelProperty(value = "name角色名称")
    private String name;

    /**
     * 角色码
     */
    @ApiModelProperty(value = "code角色码")
    private String code;

    /**
     * 备注信息
     */
    @ApiModelProperty(value = "remark备注信息")
    private String remark;

//    /**
//     * 创建时间
//     */
//    @ApiModelProperty(value = "createdTime创建时间")
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
//    private Date createdTime;
//
//    /**
//     * 更新时间
//     */
//    @ApiModelProperty(value = "updatedTime更新时间")
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
//    private Date updatedTime;

    /**
     * 所属公司名称
     */
    @ApiModelProperty(value = "公司名称")
    private String companyName;

    /**
     * 所属机构
     */
    @ApiModelProperty(value = "机构名称")
    private String organizationName;

    /**
     * 所属租户名称
     */
    @ApiModelProperty(value = "租户名称")
    private String tenantName;


//    private CompanyDTO companyDTO;
//
//    private OrganizationDTO organizationDTO;
//
//    private TenantDTO tenantDTO;

//    public RoleVO() {
//        companyDTO = new CompanyDTO();
//        organizationDTO = new OrganizationDTO();
//        tenantDTO = new TenantDTO();
//    }
}
